home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swags_z.zip / TSR.SWG / 0021_TSR Skeleton.pas < prev    next >
Pascal/Delphi Source File  |  1994-01-27  |  1KB  |  48 lines

  1. {
  2. >Thanks for the procedure. I don't want to use WRITE OR WRITELN cause
  3. >they are slow and used a lot of mem. I copy one from the book but it
  4. >makes the file even bigger!!!
  5.  
  6. Well, I hope mine worked decently...it just didn't mod the current
  7. cursor position.
  8.  
  9. >You help certainly clear up something about TSR programming. Like
  10. >why I need to interrupt hooking....but I still don't know how to
  11. >detect hotkey and check to see if the program has been loaded.
  12. >Anyway, I used a skeleton named TSR_TPU.PAS of an unkown author to
  13. >write my TSR and it ran fine though not very good.
  14.  
  15. Good...I'm glad you understand this.  I don't have TSR_TPU, but I do
  16. have some source that shows how to detect if a TSR is already loaded and
  17. how to unload a TSR.  The hotkey part you can do your self.  You can
  18. put in this program like the one I have below which will tell you what values
  19. to look for in Port[$60] for keypresses.  Just run it, and hit your key combo.
  20. For example, if you wanted ALT-A, you'd run this, and hit ALT-A, and you'd
  21. see it would exit with 30 on the screen.  So in your TSR, you say:
  22. If Port[$60]=30 then...
  23. See?  If you want the uninstall/detect TSR program, please tell me...
  24. }
  25.  
  26. Program HotKey;
  27.  
  28. Uses
  29.   Crt, Dos;
  30.  
  31. Var
  32.   Old : Procedure;
  33.  
  34. {$F+}
  35. Procedure New; Interrupt;
  36. Begin
  37.   Writeln(Port[$60]);
  38.   InLine($9C);
  39.   Old;
  40. End;
  41. {$F-}
  42.  
  43. Begin
  44.   GetIntVec($9, @Old);
  45.   SetIntVec($9, @New);
  46.   Repeat Until Keypressed;
  47. End.
  48.